package com.tt.common.util;

import org.apache.commons.beanutils.BeanUtils;

import java.util.ArrayList;
import java.util.List;

/**
 *
 *
 * 两个List之间的转换
 * @author 青青
 */
public class ConvertListUtils<T>
{
    /**
     * 将两个List中的bean属性复制
     * @param input 源对象
     * @param clazz 目标对象
     * @param <E> 源元素
     * @param <T> 目标类型
     * @return
     */
    public static <E,T>List<T>ConvertList(List<E> input,Class<T> clazz)
    {
        List<T> list = new ArrayList<>();
        if (input != null && input.size() > 0)
        {
            for (E source:input)
            {
                try
                {
                    T t = clazz.newInstance();

                    //将source中的属性拷贝到t BeanUtils.copyProperties(A,B); 是B中的值赋值给A
                    BeanUtils.copyProperties(t,source);
                    list.add(t);
                }catch (Exception e)
                {
                    e.printStackTrace();
                }
            }
        }
        return list;
    }
}
